'use strict';

module.exports = app => {
  class DefaultController extends app.Controller {
    async exchange() {
      const { ctx, app } = this;
      const nsp = app.io.of('/');
      const message = ctx.args[0] || {};
      console.log('message: ', message.data);

      try {
        // const { target, payload } = message;
        // if (!target) return;
        const msg = ctx.helper.parseMsg('pick', message.data);
        nsp.to(message.room).emit('pick', msg);
      } catch (error) {
        app.logger.error(error);
      }
    }

    async appExchange(room, data) {
      console.log('room, data: ', room, data);
      // const { ctx, app } = this;
      // const nsp = app.io.of('/');
      // try {
      //   const msg = ctx.helper.parseMsg('pick', data);
      //   nsp.to(room).emit('pick', msg);
      // } catch (error) {
      //   app.logger.error(error);
      // }
    }
  }
  return DefaultController;
};
